<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>原型和原型链</title>
</head>
<body>
<script>
    //构造方法
    // 每个函数都有一个叫作prototype(原型) 的特殊属性
    function Car() {

    }
    console.log(Car.prototype);
    function test() {

    }
    console.log(test.prototype);
    let car = new Car();
    //每个对象都有一个叫作__proto__(原型链)的特殊属性
    console.log(car.__proto__);
//    对象的__proto__保存着该对象的构造函数的prototype
//     原型指的是对象
    console.log(car.__proto__ === Car.prototype);
    // 取出来的是object，Object.prototype.__proto__   最顶层null
    console.log(Car.prototype.__proto__);

    // Car{
    //     Car(){
    //         prototype:==>Object;
    //     }
    //     car{
    //         __proto__;
    //     }
    //     Object{
    //         Object(){prototype};
    //         __proto__:Object.prototype;
    //     }
    // }
    Car.prototype{
        __proto__:Object.构造FUN
    }
</script>

</body>
</html>